// pages/video/video.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    videoList: [],
    currentVideo: null,
    loading: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.fetchVideoList();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    this.videoContext = wx.createVideoContext('myVideo');
  },

  /**
   * 获取视频列表
   */
  fetchVideoList() {
    // 模拟API调用
    this.setData({ loading: true });
    
    // 模拟网络请求延迟
    setTimeout(() => {
      // 模拟视频数据
      const mockVideoList = [
        {
          id: '1',
          title: '微信小程序开发教程',
          description: '从零开始学习微信小程序开发',
          coverUrl: 'https://res.wx.qq.com/wxdoc/dist/assets/img/demo.ef5c5bef.jpg',
          url: 'https://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400'
        },
        {
          id: '2',
          title: '视频组件使用指南',
          description: '详解微信小程序视频组件的使用方法',
          coverUrl: 'https://res.wx.qq.com/wxdoc/dist/assets/img/demo.ef5c5bef.jpg',
          url: 'https://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400'
        },
        {
          id: '3',
          title: '小程序云开发实战',
          description: '使用云开发快速构建小程序应用',
          coverUrl: 'https://res.wx.qq.com/wxdoc/dist/assets/img/demo.ef5c5bef.jpg',
          url: 'https://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400'
        }
      ];

      this.setData({
        videoList: mockVideoList,
        loading: false,
        // 默认播放第一个视频
        currentVideo: mockVideoList[0]
      });
    }, 1000);
  },

  /**
   * 播放选中的视频
   */
  playVideo(e) {
    const videoId = e.currentTarget.dataset.id;
    const video = this.data.videoList.find(item => item.id === videoId);
    
    if (video) {
      this.setData({ currentVideo: video });
      
      // 如果是同一个视频，则重新播放
      if (this.data.currentVideo && this.data.currentVideo.id === videoId) {
        this.videoContext.seek(0);
        this.videoContext.play();
      }
    }
  },

  /**
   * 视频播放事件
   */
  onVideoPlay() {
    console.log('视频开始播放');
  },

  /**
   * 视频错误事件
   */
  onVideoError(e) {
    console.error('视频播放错误', e.detail);
    wx.showToast({
      title: '视频播放出错',
      icon: 'none'
    });
  },

  /**
   * 视频结束事件
   */
  onVideoEnded() {
    console.log('视频播放结束');
    // 可以在这里实现自动播放下一个视频的逻辑
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    // 页面显示时，如果有当前视频，则继续播放
    if (this.videoContext && this.data.currentVideo) {
      this.videoContext.play();
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
    // 页面隐藏时，暂停视频播放
    if (this.videoContext) {
      this.videoContext.pause();
    }
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    // 页面卸载时，停止视频播放
    if (this.videoContext) {
      this.videoContext.stop();
    }
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    // 下拉刷新，重新获取视频列表
    this.fetchVideoList();
    wx.stopPullDownRefresh();
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
    // 可以在这里实现加载更多视频的逻辑
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage(res) {
    if (res.from === 'button') {
      // 来自页面内分享按钮
      console.log(res.target);
    }
    
    // 当前视频分享逻辑
    if (this.data.currentVideo) {
      return {
        title: this.data.currentVideo.title,
        path: '/pages/video/video?id=' + this.data.currentVideo.id
      };
    }
    
    return {
      title: '精彩视频',
      path: '/pages/video/video'
    };
  }
})